#include <stdio.h>
#include <string.h>


/* 字符串判断是否为空的标志：
 * '\0'是 ASCII 码表中的第 0 个字符，英文称为 NULL，中文称为“空字符”。
 *   该字符既不能显示，也没有控制功能，输出该字符不会有任何效果，它在C语言中唯一的作用就是作为字符串结束标志。
*/



int com_len(char * str)
{
    int len = 0;
    while (*str != NULL)
    {
        len++;
        str++;
    }

    printf("len: %d \n",len);
    return len;
    
}

void str_reverse(char *str)
{

    int len = com_len(str);

    char *start = str;
    char *end = str + len - 1;

    if ((len == 0) || (len == 1))
    {
        str = str;
        return;
    }

    char str_temp;
    while (start < end)
    {
        str_temp =  *start;
        *start = *end;
        *end = str_temp;

        start++;
        end--;


    }

}



int main(int argc, char *argv[])
{


    char str_in[] = "Hello World!";

    str_reverse(str_in);

    printf("str_reverse: %s \n",str_in);

    return 0;



}